// pages/api/api.js
// 1.获取 app 实例
const app = getApp()
console.log('小程序实例：', app.state);
app.test()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 学生列表
    list: [],
    user: {
      // 用户头像
      photo: '',
      // 昵称
      name: ''
    }
  },
  go() {
    // 1. 跳转普通页面(非 tabBar 页面) => 类似 vue 的 $router.push
    // wx.navigateTo({
    //   url: '/pages/data/data',
    //   // url:'/pages/index/index'
    // })
    // 2. 跳转 tabBar 页面
    // wx.switchTab({
    //   url: '/pages/index/index',
    // })

    // 3. 替换跳转 => 类似 vue的 $router.replace
    wx.redirectTo({
      url: '/pages/data/data',
    })
  },
  // 获取昵称和头像
  getUserNickName(e) {
    console.log('获取昵称：', e.detail.value)
    this.setData({
      'user.name': e.detail.value
    })
  },
  getPhoto(e) {
    console.log('获取头像：', e.detail.avatarUrl)
    // 1. 回显
    this.setData({
      'user.photo': e.detail.avatarUrl
    })
    // 2. 上传头像...
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    console.log('内置 api 全局对象：', wx);
    this.getList()
  },
  saveData() {
    /**
     * 本地存储：
     *  ● wx.setStorageSync 在本地存入一个数据
        ● wx.getStorageSync 读取本地的一个数据
        ● wx.removeStorageSync 删除本地存储的一个数据
        ● wx.clearStorageSync 清空本地存储的数据
     */
    wx.setStorageSync('meng', 123)
    wx.setStorageSync('list', [{ id: 1 }])
    console.log('读取 list:', wx.getStorageSync('list'));
    wx.removeStorageSync('meng')
    // 清除所有数据
    wx.clearStorageSync()
  },
  // 定义请求方法
  getList() {
    console.log(1, this, window);
    // 小程序发起网络请求（调用接口）的方法
    /**
     * wx.request发请求：
     * 1. 不支持 Promise
     * 2. 开发期间需要关闭合法域名检查=》上线了一定要配置
     * 3. 获取数据的success写成箭头函数=> 正确获取 this
     */
    // 显示 loading
    wx.showLoading({
      title: '奋力加载中...',
      mask: true // 添加遮罩
    })
    wx.request({
      // 接口地址
      url: 'https://mock.boxuegu.com/mock/3293/students',
      // 请求的方法
      method: 'GET',
      // 请求时的参数（get/post 都用 data 传参）
      data: {
        page: 1,
        pageSize: 10
      },
      success: (res) => {
        // 成功响应的回调
        console.log('2列表：', res.data.result, this);
        this.setData({
          list: res.data.result
        })

        // 成功提示(消息提示)
        // setTimeout(() => {
        wx.showToast({
          title: '请求成功！',
          icon: "success"
        })
        // }, 1000)
      },
      complete() {
        // 请求成功或失败都会执行
        // wx.hideLoading()
      }
      // ...
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})